#include <stdio.h>

int main(void)
{
    int data1 = 10;
    int data2 = 20;
    int result;

    // asm ("imull %1, %2\n\t"
    //     "movl %2, %0"
    //     : "=a"(result)
    //     : "d"(data1), "c"(data2)
    //     :);

    asm ("imull %1, %2\n\t"
        "movl %2, %0"
        : "=r"(result)
        : "r"(data1), "r"(data2)
        :);
    
    asm ("imull %1, %2\n\t"
        "movl %2, %0"
        : "=r"(result)
        : "r"(data1), "0"(data2)
        :);
    printf("the result is:%d\n", result);
    return 0;
}